<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>对象和数组</title>
</head>
<body>

    <h1>
        对象和数组
    </h1>

    <script>
        //alert("ceshi");
        var zcy = {name: "Neo", age: 21, year: 1995};
        var beatles = {};
        beatles.vocalist = zcy;
        //将beatles声明为对象，然后将他的一个属性也声明为对象，给属性指向zcy的引用
        //alert(beatles.vocalist.name);

        /**
         * 全局变量和局部变量
         * 在函数内部的变量，如果没有用var关键字进行声明就会被作为一个全局变量；
         * 在函数外部定义的变量是一个全局变量，在该脚本的任何地方都可以使用；
         * 局部变量的使用只限在定义的范围内，函数内部或者某一对大括号内；
         */
        function square(num) {
            total = num * num;      //这里的total被定义为全局变量
//            var total = num * num;  //修改为局部变量后输出的total值为50
            return total;
        }

        var total = 50;         //由于在函数square中total被定义为全局变量，所以它的值被改变
        alert(square(20));
        alert(total);
    </script>
</body>
</html>